Storage device and a write method thereof

ABSTRACT

A write method of a storage device includes determining whether to perform a coarse program operation based on information about memory cells of a memory device, in response to a determination that the coarse program operation is to be performed, programming data in the memory device by performing the coarse program operation and a fine program operation, and in response to a determination that the coarse program operation is not to be performed, programming data in the memory device by performing the fine program operation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser.No. 14/188,889 filed Feb. 25, 2014, which claims priority under 35U.S.C. §119 to Korean Patent Application No. 10-2013-0076613 filed Jul.1, 2013, in the Korean Intellectual Property Office, the disclosures ofwhich are incorporated by reference herein in their entireties.

BACKGROUND

1. Technical Field

The inventive concept relates to a storage device and a write methodthereof.

2. Discussion of the Related Art

Semiconductor memory devices may be volatile or nonvolatile. Anonvolatile semiconductor memory device can retain data stored thereineven when not powered. The nonvolatile memory device may be permanent orreprogrammable. The nonvolatile memory device may be used for user data,program, and microcode storage in a wide variety of applications in thecomputer, avionics, telecommunications, and consumer electronicsindustries.

A method of reprogramming memory cells of a reprogrammable nonvolatilememory device may be used to reduce cell coupling. For example, in areprogramming method, a plurality of program operations is performed tonarrow a threshold voltage distribution of data values to be stored. Inother words, the reprogramming method may include a coarse programoperation and a fine program operation. The coarse program operation mayform a rough threshold voltage distribution. The fine program operationmay finely narrow a threshold voltage distribution formed by the coarseprogram operation.

Example reprogramming methods are disclosed in U.S. Pat. Nos. 8,355,280and 8,411,502 and U.S. Patent Application Publication Nos. 2011/0205817and 2013/0145234, the disclosures of which are incorporated by referenceherein in their entireties.

SUMMARY

An exemplary embodiment of the inventive concept provides a write methodof a storage device, comprising: determining whether to perform a coarseprogram operation based on information about memory cells of a memorydevice, in response to a determination that the coarse program operationis to be performed, programming data in the memory device by performingthe coarse program operation and a fine program operation, and inresponse to a determination that the coarse program operation is not tobe performed, programming data in the memory device by performing thefine program operation.

The information about memory cells of the memory device includesprogram/erase cycle information, wear-leveling information, orinformation indicating whether a memory cell is programmed.

The determination is made by a memory controller.

The data programmed in the coarse program operation is provided via afirst signal line to a buffer area.

The buffer area is included in the memory device, a memory controller,or is separate from the memory device and the memory controller.

The data programmed in the fine program operation is provided via asecond signal line to a memory area of the memory device.

A memory controller provides the memory device with an instructionwhether to perform the coarse program operation and the fine programoperation, or perform only the fine program operation.

The memory device is a nonvolatile memory.

The nonvolatile memory has a three-dimensional vertical array structure.

The determination is made in response to a write request.

A number of program states in the coarse program operation is based on aprogram/erase cycle number.

A range of a threshold voltage distribution near a lower program stateis narrower than a range of a threshold voltage distribution near anupper program stage in the coarse program operation.

An exemplary embodiment of the inventive concept provides a write methodof a storage device, comprising: receiving a write request at a memorycontroller; determining, at the memory controller, whether to perform acoarse program operation based on information about memory cellscorresponding to the write request; wherein when the information aboutthe memory cells is between an initial state and a first threshold, thecoarse program operation is determined not to be performed; and when theinformation about the memory cells is between the first threshold and asecond threshold, the coarse program operation is determined to beperformed and data is programmed in the memory cells by performing thecoarse program operation and a fine program operation.

The information about memory cells of the memory device includesprogram/erase cycle information, wear-leveling information, orinformation indicating whether a memory cell is programmed.

The information about the memory cells indicates a program/erase cyclenumber of the memory cells.

The program/erase cycle number of the first threshold is less than theprogram/erase cycle number of the second threshold.

Data corresponding to an upper portion of a program state is programmedduring the coarse program operation and data corresponding to a lowerportion of a program state is not programmed during the coarse programoperation.

When the information about the memory cells exceeds the secondthreshold, the coarse program operation is determined to be performedand data is programmed in the memory cells by performing the coarseprogram operation.

The program/erase cycle number of the memory cells is greater than thesecond threshold when the information about the memory cells exceeds thesecond threshold.

Data corresponding to all program states is programmed during the coarseprogram operation performed when the program/erase cycle number ofmemory cells exceeds the second threshold.

A range of a threshold voltage distribution near a lower program stateis narrower than a range of a threshold voltage distribution near anupper program stage in the coarse program operation.

An exemplary embodiment of the inventive concept provides a write methodof a storage device, comprising: receiving a write request for anaddress at a memory controller; determining, at the memory controller, atype of coarse program operation to be performed on a memory cellassociated with the address, wherein the type of coarse programoperation is based on an expected time of start of a fine programoperation after execution of the coarse program operation; andoutputting, from the memory controller to a memory device, aninstruction to perform the determined type of coarse program operation.

Threshold voltage distributions in a first type coarse program operationare narrow when the expected time is short and threshold voltagedistributions in a second type coarse program operation are wide whenthe expected time is long.

An exemplary embodiment of the inventive concept provides a write methodof a storage device, comprising: determining a type of coarse programoperation to be performed based on information about memory cells of amemory device; and in response to determining the type of coarse programoperation to be performed, programming data in the memory device byperforming the determined type of coarse program operation and a fineprogram operation.

A number of program states formed in the coarse program operationincreases as a program/erase cycle increases.

A range of a threshold voltage distribution near a lower program stateis narrower than a range of a threshold voltage distribution near anupper program state in the coarse program operation.

Program states of the coarse program operation are divided into aplurality of groups.

The program states are grouped according to ranges of their thresholdvoltage distributions.

An increment of a voltage level of a program pulse in the coarse programoperation is reduced.

A duration between program pulses in the coarse program operation isdifferent.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the inventive concept will become moreapparent by describing in detail exemplary embodiments thereof withreference to the accompanying drawings, in which:

FIG. 1 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept;

FIG. 2 is a block diagram illustrating a nonvolatile memory deviceaccording to an exemplary embodiment of the inventive concept;

FIG. 3 is a perspective view illustrating a memory block according to anexemplary embodiment of the inventive concept;

FIG. 4 is a circuit diagram illustrating an equivalent circuit of amemory block illustrated in FIG. 3, according to an exemplary embodimentof the inventive concept;

FIG. 5 is a diagram illustrating threshold voltage distributions ofprogrammed memory cells in a memory area illustrated in FIG. 1 accordingto an exemplary embodiment of the inventive concept;

FIG. 6 is a diagram illustrating threshold voltage distributions formedin a coarse program operation according to an exemplary embodiment ofthe inventive concept;

FIG. 7 is a diagram illustrating threshold voltage distributions formedin a coarse program operation according to an exemplary embodiment ofthe inventive concept;

FIG. 8 is a diagram illustrating threshold voltage distributions ofprogrammed memory cells of a memory area in FIG. 1 according to anexemplary embodiment of the inventive concept;

FIG. 9 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept;

FIG. 10 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept;

FIG. 11 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept;

FIG. 12 is a diagram illustrating program loops of a fine programoperation according to an exemplary embodiment of the inventive concept;

FIG. 13 is a diagram for describing an expected time of start of a fineprogram operation using an address scramble according to an exemplaryembodiment of the inventive concept;

FIG. 14 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept;

FIG. 15 is a block diagram illustrating a nonvolatile memory device ofFIG. 14, according to an exemplary embodiment of the inventive concept;

FIG. 16 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept;

FIG. 17 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept;

FIG. 18 is a flow chart illustrating a write method according to anexemplary embodiment of the inventive concept;

FIG. 19 is a flow chart illustrating a write method according to anexemplary embodiment of the inventive concept;

FIG. 20 is a block diagram illustrating a solid state drive according toan exemplary embodiment of the inventive concept;

FIG. 21 is a block diagram illustrating an embedded multimedia card(eMMC) according to an exemplary embodiment of the inventive concept;

FIG. 22 is a block diagram illustrating a universal flash storage (UFS)system according to an exemplary embodiment of the inventive concept;and

FIG. 23 is a block diagram illustrating a mobile device according to anexemplary embodiment of the inventive concept.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Hereinafter, exemplary embodiments of the inventive concept will bedescribed in detail with reference to the accompanying drawings. Theinventive concept, however, may be embodied in various different forms,and should not be construed as being limited only to the illustratedembodiments. Like reference numerals may denote like elements throughoutthe attached drawings and written description.

I As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise.

It will be understood that when an element or layer is referred to asbeing “on”, “connected to”, “coupled to”, or “adjacent to” anotherelement or layer, it can be directly on, connected, coupled, or adjacentto the other element or layer, or intervening elements or layers may bepresent.

A storage device according to an exemplary embodiment of the inventiveconcept may be configured to determine whether to perform a coarseprogram operation or a type of coarse program operation, based on cellstatus information.

FIG. 1 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept. Referring to FIG. 1, astorage device 10 may include at least one nonvolatile memory device 100and a memory controller 200 for controlling the at least one nonvolatilememory device 100.

The nonvolatile memory device 100 may perform a multi-bit programoperation in a reprogramming method. The nonvolatile memory device 100may include a buffer area 112 and a memory area 114.

The buffer area 112 may be an area where a buffer program operation iscarried out when a program operation is performed in the reprogrammingmethod. Here, the buffer program operation may enable plural pages ofdata PD1 to PDk (k being an integer of 2 or more) to be stored at aplurality of pages for buffering. In exemplary embodiments of theinventive concept, the buffer area 112 may include a single-level cell(SLC) memory, and the buffer program operation may be a 1-bit programoperation or an N-bit program operation (N being an integer of 2 ormore).

The memory area 114 may be an area where a one-step program operation ora multi-step program operation is performed. At the one-step programoperation, plural pages of data PD1 to PDk may be stored at a pagewithout using a reprogramming method. At the multi-step programoperation, plural pages of data PD1 to PDk may be stored at a page usingthe reprogramming method.

In exemplary embodiments of the inventive concept, the memory area 114may be formed of a multi-level cell (MLC) or a triple-level cell (TLC)memory and perform an M-bit program operation (M being an integer).Here, M may be equal to or more than N. For example, the buffer area 112may perform a 1-bit program operation and the memory area 114 mayperform a multi-bit program operation (e.g., 2 or more bits).

The multi-step program operation may include a coarse program operationand a fine program operation. Assuming that the same data is programmed,a width of a threshold voltage distribution formed by the fine programoperation may be narrower than that formed by the coarse programoperation.

Further, the multi-step program operation may include at least onecoarse program operation and at least one fine program operation.

The nonvolatile memory device 100 may include the memory area 114 wheredata is stored using one of the one-step program operation and themulti-step program operation.

In response to a write request of an external device, the memorycontroller 200 may determine whether to perform a coarse programoperation based on status information of a memory cell to be programmed.Here, the status information may include program/erase (P/E) cycleinformation, wear-leveling information, and information indicatingwhether the memory cell is programmed. However, the inventive concept isnot limited thereto.

In exemplary embodiments of the inventive concept, when a P/E cyclevalue is smaller than a predetermined value (e.g., when a level ofdeterioration of a memory cell is relatively low), the memory controller200 may not perform a coarse program operation. In other words, data maybe stored in the memory area 114 by the one-step program operation. Onthe other hand, when a P/E cycle value is larger than a predeterminedvalue (e.g., when a level of deterioration of a memory cell isrelatively high), the memory controller 200 may perform the coarseprogram operation. In other words, data may be stored in the memory area114 by the multi-step program operation.

In exemplary embodiments of the inventive concept, the memory controller200 may perform a multi-bit program operation as a default reprogrammingmethod. When a P/E cycle value is smaller than a predetermined value,the memory controller 200 may perform the multi-bit program operationwithout using a reprogramming method.

The storage device 10 according to an exemplary embodiment of theinventive concept may determine whether to perform the multi-bit programoperation using the reprogramming method, based on cell statusinformation (e.g., P/E cycle information, wear-leveling information,etc.).

FIG. 2 is a block diagram illustrating a nonvolatile memory deviceaccording to an exemplary embodiment of the inventive concept. Referringto FIG. 2, a nonvolatile memory device 100 may include a memory cellarray 110, an address decoder 120, an input/output circuit 130, andcontrol logic 140.

The nonvolatile memory device 100 may be a NAND flash memory device, forexample. However, the nonvolatile memory device 100 is not limited tothe NAND flash memory device. For example, the inventive concept may beapplied to a vertical NAND flash memory device, a NOR flash memorydevice, a Resistive Random Access Memory (RRAM) device, a Phase-ChangeRandom Access Memory (PRAM) device, a Magnetroresistive Random AccessMemory (MRAM) device, a Ferroelectric Random Access Memory (FRAM)device, a Spin Transfer Torque Random Access Memory (STT-RAM) device,and the like.

Further, the nonvolatile memory device 100 can have a three-dimensionalarray structure. In this case, the nonvolatile memory device 100 may bea vertical NAND flash memory device. The inventive concept may beapplied to a Charge Trap Flash (CTF) memory device including a chargestorage layer formed of an insulation film as well as a flash memorydevice including a charge storage layer formed of a conductive floatinggate. Below, the inventive concept will be described under the conditionthat the nonvolatile memory device 100 is a vertical NAND flash memorydevice.

The memory cell array 110 may be connected to the address decoder 120through word lines WL, at least one string selection line SSL, and atleast one ground selection line GSL. The memory cell array 110 may beconnected to the input/output circuit 130 through bit lines BL. Thememory cell array 110 may include a plurality of memory blocks BLK1 toBLKz (z being an integer of 2 or more).

Each of the memory blocks BLK1 to BLKz may include a plurality ofstrings which are arranged along a first direction and a seconddirection different from the first direction and along a third direction(e.g., a direction perpendicular to a plane formed by the first andsecond directions) to have a three-dimensional structure. Here, eachstring may include at least one string selection transistor, a pluralityof memory cells, and at least one ground selection transistor stacked ona substrate. Each memory cell may store at least one data bit.

At least one of the memory blocks BLK1 to BLKz may be used as the bufferarea 112 illustrated in FIG. 1, and the remaining memory blocks may beused as the memory area 114 illustrated in FIG. 1. In exemplaryembodiments of the inventive concept, at least one memory block assignedto the buffer area 112 may be fixed. In exemplary embodiments of theinventive concept, a memory block assigned to the buffer area 112 may bechanged by the memory controller 200 illustrated in FIG. 1.Alternatively, a part of each memory block may be used as the bufferarea 112, and the remaining part or parts thereof may be used as thememory area 114.

The address decoder 120 may be connected to the memory cell array 110through the word lines WL, the at least one string selection line SSLand the at least one ground selection line GSL. The address decoder 120may select the word lines WL, the string selection line SSL and theground selection line GSL using a decoded row address. The addressdecoder 120 may decode a column address of an input address. The decodedcolumn address DCA may be provided to the input/output circuit 130. Inexemplary embodiments of the inventive concept, the address decoder 120may include a row decoder, a column decoder, an address buffer, and soon.

The input/output circuit 130 may be connected to the memory cell array110 through the bit lines BL. The input/output circuit 130 may beconfigured to receive the decoded column address DCA from the addressdecoder 120. The input/output circuit 130 may select the bit lines BLusing the decoded column address DCA.

The input/output circuit 130 may receive data from an external device(e.g., a memory controller) to store it in the memory cell array 110.The input/output circuit 130 may read data from the memory cell array110 to output it to the external device. Further, the input/outputcircuit 130 may read data from a first area of the memory cell array 110and store it in a second area of the memory cell array 110. For example,the input/output circuit 130 may be configured to perform a copy-backoperation.

The control logic 140 may control an overall operation of thenonvolatile memory device 100 including a program operation, a readoperation, an erase operation, and so on. The control logic 140 mayoperate in response to control signals or commands provided from theexternal device.

The control logic 140 may include one-step control logic 141 andmulti-step control logic 142. The one-step control logic 141 may controlinternal components (e.g., the address buffer 120, the input/outputcircuit 130, etc.) to perform a multi-bit program operation withoutusing a reprogramming method. The multi-step control logic 142 maycontrol the internal components to perform the multi-bit programoperation using the reprogramming method.

In exemplary embodiments of the inventive concept, the control logic 140may activate one of the one-step control logic 141 and the multi-stepcontrol logic 142 based on coarse program operation information CPINF(also referred to as coarse program operation signal) provided from thememory controller 200.

The nonvolatile memory device 100 according to an exemplary embodimentof the inventive concept may perform a one-step program operation or amulti-step program operation, based on the coarse program operationinformation CPINF.

FIG. 3 is a perspective view illustrating a memory block according to anexemplary embodiment of the inventive concept. Referring to FIG. 3, amemory block BLK1 may be formed in a direction perpendicular to asubstrate SUB. An n+ doping region may be formed at the substrate SUB.

A gate electrode layer and an insulation layer may be deposited on thesubstrate SUB. A charge storage layer (or information storage layer) maybe formed between the gate electrode layer and the insulation layer.

If the gate electrode layer and the insulation layer are patterned in avertical direction, a V-shaped pillar may be formed. The pillar may beconnected with the substrate SUB through the gate electrode layer andthe insulation layer. An outer portion of the pillar may be formed of achannel semiconductor as a vertical active pattern, and an inner portionthereof may be formed of an insulation material such as silicon oxide asa filling dielectric pattern.

The gate electrode layer of the memory block BLK1 may be connected witha ground selection line GSL, a plurality of word lines WL1 to WL8, and astring selection line SSL. The pillars of the memory block BLK1 may beconnected with a plurality of bit lines BL1 to BL3. In FIG. 3, there isillustrated an example where one memory block BLK1 has two selectionlines SSL and GSL, eight word lines WL1 to WL8, and three bit lines BL1to BL3. However, the inventive concept is not limited thereto.

FIG. 4 is a circuit diagram illustrating an equivalent circuit of amemory block illustrated in FIG. 3, according to an exemplary embodimentof the inventive concept. Referring to FIG. 4, cell strings CS11 to CS33may be connected between bit lines BL1 to BL3 and a common source lineCSL. Each cell string (e.g., CS11) may include a string selectiontransistor SST, a plurality of memory cells MC1 to MC8, and a groundselection transistor GST.

The string selection transistors SST may be connected with a stringselection line SSL. The string selection line SSL may be divided intofirst to third string selection lines SSL1 to SSL3. The ground selectiontransistors GST may be connected with a ground selection line GSL. Ineach cell string, the string selection transistor SST may be connectedwith a bit line, and the ground selection transistor GST may beconnected with the common source line CSL.

In each cell string, the memory cells MC1 to MC8 may be connected withcorresponding word lines WL1 to WL8, respectively. A group of memorycells connected with a word line and programmed at the same time may bereferred to as a page. The memory block BLK1 may include a plurality ofpages. One word line may be connected with a plurality of pages.Referring to FIG. 4, a word line (e.g., WL4) spaced apart from thecommon source line CSL by a predetermined distance may be connected incommon with three pages.

Each memory cell may store 1-bit data or two or more bits of data. Amemory cell storing 1-bit data may be referred to as an SLC or asingle-bit cell.

A memory cell storing two or more bits of data may be referred to as anMLC or a multi-bit cell. In a 2-bit MLC, two pages of data may be storedat a physical page. Thus, six pages of data may be stored at memorycells connected with the word line WL4.

A three-dimensional nonvolatile memory device may be implemented by aCTF. In this case, an initial verify shift (IVS) phenomenon may occur inwhich charges trapped in a programmed CTF are redistributed and leakedover time. Reprogramming may be performed to overcome deteriorationresulting from this phenomenon.

FIG. 5 is a diagram illustrating threshold voltage distributions ofprogrammed memory cells in the memory area 114 illustrated in FIG. 1according to an exemplary embodiment of the inventive concept. For easeof description, it is assumed that a 3-bit program operation is appliedto a memory cell. With this assumption, the memory cell may beprogrammed to have one of eight threshold voltage distributions.

Referring to FIG. 5, a memory cell may be programmed to have one of anerase state E and program states P21 to P27 in a one-step programoperation. Here, the program states P21 to P27 may be final states forstoring 3-bit data.

With a multi-step program operation using a reprogramming method, acoarse program operation may be performed, and then, a fine programoperation may be performed. Here, the coarse and fine program operationsmay be 3-bit program operations.

In the coarse program operation (of the multi-step program operation),threshold voltage distributions may be formed to correspond to programstates P11 to P17, respectively. In the fine program operation (of themulti-step program operation), threshold voltage distributions may beformed to correspond to program states P21 to P27, respectively.

A width of a threshold voltage distribution of at least one of theprogram states P21 to P27 formed by the fine program operation may benarrower than that formed by the coarse program operation.

For ease of description, in FIG. 5, there is illustrated an example of atwo-step program operation including a coarse programming step and afine programming step. However, the inventive concept is not limitedthereto. For example, the multi-step program operation may include threeor more programming steps.

The memory area 114 may be programmed with data corresponding to a finaldistribution by the one-step program operation or with datacorresponding to a final distribution by the multi-step programoperation.

In FIG. 5, there is illustrated an example where data corresponding toall program states P11 to P17 is programmed in the coarse programoperation. However, the inventive concept is not limited thereto. Forexample, data corresponding to a part of the program states P11 to P17can be programmed in the coarse program operation.

FIG. 6 is a diagram illustrating threshold voltage distributions formedin a coarse program operation according to an exemplary embodiment ofthe inventive concept. Referring to FIG. 6, only data corresponding to aseventh program state P17 may be programmed in a coarse programoperation.

In general, if a P/E cycle number of a memory block increases, a widthof a threshold voltage distribution indicating a cell characteristic maybecome wider or dropped. In other words, if a P/E cycle number of amemory block increases, a threshold voltage distribution may become badas compared to an initial value and the probability that an error isgenerated may become high.

If coarse programming is executed every program operation to reduce theincidence of error, the performance of programming may be deteriorated.With an exemplary embodiment of the inventive concept, the number ofprogram states formed in a coarse program operation may be changedaccording to a P/E cycle number. In addition, if a P/E cycle value is aninitial value, the fine program operation may be directly performedwithout execution of the coarse program operation.

In exemplary embodiments of the inventive concept, if a P/E cycle numberincreases, the number of program states formed in the coarse programoperation may increase. For example, as illustrated in FIG. 6, when aP/E cycle number is below 0.5k, only data corresponding to the seventhprogram state P17 may be programmed in the coarse program operation. Ina case where a P/E cycle number is between 0.5k and 1k, only datacorresponding to sixth and seventh program states P16 and P17 may beprogrammed in the coarse program operation. If a P/E cycle number isover 1 k, only data corresponding to fifth to seventh program states P15to P17 may be programmed in the coarse program operation.

In exemplary embodiments of the inventive concept, since some states areprogrammed, the input/output circuit 130 (refer to FIG. 1) may fetch notjust three pages of data from the buffer area 112 (refer to FIG. 1), butdata remapped on two pages of data, and then, the coarse programoperation may be performed.

With the coarse program operation according to an exemplary embodimentof the inventive concept, program states may be added starting from theuppermost program state P17, based on a P/E cycle number.

Threshold voltage distributions respectively corresponding to theprogram states P11 to P17 formed by the coarse program operation mayhave the same width. However, the inventive concept is not limitedthereto. Widths of threshold voltage distributions respectivelycorresponding to the program states P11 to P17 formed by the coarseprogram operation may be different from one another.

FIG. 7 is a diagram illustrating threshold voltage distributions formedin a coarse program operation according to an exemplary embodiment ofthe inventive concept. Referring to FIG. 7, widths of threshold voltagedistributions may become narrow from the lowermost program state P11′toward the uppermost program state P17′.

Program states may be divided into a first group including first andsecond program states P11′ and P12′, a second group including third andfourth program states P13′ and P14′, and a third group including fifthto seventh program states P15′ to P17′.

Grouping of threshold voltage distributions may be based on adistribution width. A distribution width may vary according to anincrement of a program pulse applied in a program operation. Here,distribution widths in program states belonging to the third group maybe narrower than that belonging to the first and second groups.

In exemplary embodiments of the inventive concept, a width of athreshold voltage distribution in a coarse program operation may bedetermined by a voltage difference between a verification level of acurrent program state and a verification level of a next program state.

In FIG. 7, widths of threshold voltage distributions may become narrowfrom the lowermost program state P11′ toward the uppermost program stateP17′. However, the inventive concept is not limited thereto. In a coarseprogram operation, a width of a threshold voltage distributioncorresponding to at least one program state may be narrower than thatcorresponding to another program state. With the coarse programoperation according to an exemplary embodiment of the inventive concept,when approaching the uppermost program state P17′, a width of athreshold voltage distribution may become narrow.

A 3-bit program operation has been described with reference to FIGS. 5to 7. However, the inventive concept is not limited thereto. Theinventive concept is applicable to a 4-bit program operation.

FIG. 8 is a diagram illustrating threshold voltage distributions ofprogrammed memory cells of the memory area 114 in FIG. 1 according to anexemplary embodiment of the inventive concept. In FIG. 8, a 4-bitprogram operation may be applied to memory cells. Thus, memory cells maybe programmed to have one of 16 threshold voltage distributions. Forexample, in the one-step program operation memory cells may havethreshold voltage distributions RQ1 to RQ15. In the coarse programoperation of the multi-step program operation, memory cells may havethreshold voltage distributions IQ1 to IQ15, and in the fine programoperation of the multi-step program operation, memory cells may have thethreshold voltage distributions RQ1 to RQ15.

A coarse program operation may be performed such that a width of athreshold voltage distribution corresponding to an upper program statebecomes narrower than that corresponding to a lower program state. Thiswill be more fully described later.

FIG. 9 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept.Referring to FIG. 9, an increment of a program pulse may be reduced fromISPP1 to ISPP2 (ISPP2<ISPP1) from a predetermined program loop of acoarse program operation. In other words, the increment of the programpulse ISPP1 may be reduced after the predetermined program loop. Here,the predetermined program loop may be based on the number of programloops, information indicating whether the number of off cells detectedis over a predetermined value, information indicating whether aparticular state is passed, and so on.

In FIG. 9, there is illustrated an example where an increment of aprogram pulse is changed once. However, the inventive concept is notlimited thereto. For example, an increment of a program pulse can bechanged at program loops of the coarse program operation, respectively.

FIG. 10 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept.Referring to FIG. 10, an increment of a program pulse may be reducedfrom ISPP1 to ISPP2 (ISPP2<ISPP1) from a first predetermined programloop of a coarse program operation. In other words, the increment of theprogram pulse ISPP1 may be reduced after the first predetermined programloop. In addition, an increment of the program pulse may be reduced fromISPP2 to ISPP3 (ISPP3<ISPP2) from a second predetermined program loop ofthe coarse program operation. In other words, the increment of theprogram pulse ISPP2 may be reduced after the second predeterminedprogram loop. Here, a first condition for determining the firstpredetermined program loop and a second condition for determining thesecond predetermined program loop may be based on the number of programloops, information indicating whether the number of off cells detectedis over a predetermined value, information indicating whether aparticular state is passed, and so on.

In FIGS. 9 and 10, the coarse program operation according to anexemplary embodiment of the inventive concept may include a plurality ofsections each including program loops. An increment of a program pulseapplied to program loops of a section may be different from that appliedto program loops of another section.

In FIGS. 9 and 10, there is illustrated an example where an increment ofa program pulse is changed. However, the inventive concept is notlimited thereto. For example, the duration of a program pulse applied toprogram loops of the coarse program operation can be changed.

FIG. 11 is a diagram illustrating program loops of a coarse programoperation according to an exemplary embodiment of the inventive concept.Referring to FIG. 11, an increment of a program pulse may be reducedfrom ISPP1 to ISPP2 (ISPP2<ISPP1) from a first predetermined programloop of a coarse program operation. In addition, a duration of theprogram pulse may be reduced from d1 to d2 (d2<d1) from the firstpredetermined program loop. In other words, the duration of the programpulse may be reduced after the first predetermined program loop.

The increment/duration of a program pulse applied to a program loop ofthe coarse program operation may not be limited to the examples shown inFIGS. 9 to 11. Changes or modifications to the increment/duration of aprogram pulse may be made. The increment/duration of a program pulseapplied to a program loop of the coarse program operation may be changedbased on the number of program loops, information indicating whether thenumber of off cells detected is over a predetermined value, informationindicating whether a particular state is passed, and so on. With theabove description, a width of a threshold voltage distribution maybecome narrow toward an upper program state.

A fine program operation according to an exemplary embodiment of theinventive concept may be executed under a condition that anincrement/duration of a program pulse applied to a program loop isoptimally selected to have a final state of a threshold voltagedistribution.

FIG. 12 is a diagram illustrating program loops of a fine programoperation according to an exemplary embodiment of the inventive concept.Referring to FIG. 12, program loops of a fine program operation may beexecuted using an increment ISPP3 of a program pulse and duration d2.Although not shown, a verification step may include a coarse step and afine step (in other words, a 2-step verification scheme can be used).

A coarse program operation according to an exemplary embodiment of theinventive concept may be performed differently according to an expectedtime of start of a fine program operation. In other words, a type ofcoarse program operation may be determined according to an expected timeof start of a fine program operation. Here, the expected time of startof the fine program operation may be determined by an address scramble.

FIG. 13 is a diagram for describing an expected time of start of a fineprogram operation using an address scramble according to an exemplaryembodiment of the inventive concept. Referring to FIG. 13, a horizontalaxis of a table indicating an address scramble indicates stringselection lines SSL1 to SSL4, and a vertical axis of the table indicatesword lines WL1 to WL4. An intersection of a word line and a bit lineindicates an address of a memory cell. For example, a location A may bea location of a memory cell arranged at an intersection of a firststring selection line SSL1 and a second word line WL2, and a location Bmay be a location of a memory cell arranged at an intersection of afourth string selection line SSL4 and a third word line WL3. A coarseprogram operation and a fine program operation may be sequentiallyperformed with respect to memory cells placed at respective addresses.

In FIG. 13, for ease of description, it is assumed that an addressscramble is performed in order such as {circumflex over (1)}→{circumflexover (2)}→{circumflex over (3)}→{circumflex over (4)}→{circumflex over(5)}→{circumflex over (5)}→{circumflex over (6)}→{circumflex over(7)}→{circumflex over (8)}. In other words, after a coarse programoperation on a first word line WL1 is performed in a first step({circumflex over (1)}), a coarse program operation on a second wordline WL2 may be performed in a second step ({circumflex over (2)}). Afine program operation on the first word line WL1 may be performed in athird step ({circumflex over (3)}), a coarse program operation on athird word line WL3 may be performed in a fourth step ({circumflex over(4)}). Then, a fine program operation on the second word line WL2 may beperformed in a fifth step ({circumflex over (5)}).

Referring to the coarse program operation on the location A and thecoarse program operation on the location B, expected start times of afine program operation may be different. In the case of the location A,a coarse program operation (0) may be performed, and then, a fineprogram operation (8) may be performed after a time taken to performseven coarse program operations (e.g., 1 to 7) elapses.

In the case of the location B, a coarse program operation (15) may beperformed, and then, a fine program operation (27) may be performedafter a time taken to perform four coarse program operations (e.g., 20to 23) and seven fine program operations (e.g., 16 to 19 and 24 to 26)elapses.

Considering that a time taken to perform a coarse program operation islonger than that taken to perform a fine program operation, an expectedtime of start of a fine program operation after execution of a coarseprogram operation associated with the location B may be longer than anexpected time of start of a fine program operation after execution of acoarse program operation associated with the location A.

The address scramble illustrated in FIG. 13 is exemplary. Modificationsor changes to the address scramble may be variously made.

In an exemplary embodiment of the inventive concept, a type of coarseprogram operation may be determined based on such expected time. Forexample, if an expected time of start of a fine program operation isrelatively longer, a coarse program operation may be performed such thata threshold voltage distribution is formed more finely as compared tothat when an expected time of start of a fine program operation isrelatively shorter (or such that it is approximate to a finaldistribution or such that it is similar to a distribution formed by afine program operation).

In FIGS. 1 to 13, the storage device 10 may determine whether to use areprogramming method according a cell status. However, the inventiveconcept is not limited thereto. The storage device 10 according to anexemplary embodiment of the inventive concept may perform reprogramming,and may determine a type of coarse program operation according to cellinformation.

FIG. 14 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept. Referring to FIG. 14, astorage device 20 may include at least one nonvolatile memory device 100a and a memory controller 200 a for controlling the nonvolatile memorydevice 100 a. The nonvolatile memory device 100 a may be similar to thenonvolatile memory device 100 shown in FIG. 1.

The nonvolatile memory device 100 a may perform a coarse programoperation in different ways according to coarse program operationinformation CPINF. Here, the coarse program operation information CPINFmay include type information associated with a coarse program operation.

The memory controller 200 a may determine a type of coarse programoperation based on cell status information, and may send the coarseprogram operation information CPINF to the nonvolatile memory device 100a based on the determination. In exemplary embodiments of the inventiveconcept, the cell information may be status information of a memorycell. In exemplary embodiments of the inventive concept, the cellinformation may be an expected time of start of a fine programoperation.

The storage device 20 according to an exemplary embodiment of theinventive concept may determine a type of coarse program operation basedon cell information.

FIG. 15 is a block diagram illustrating the nonvolatile memory device100 a of FIG. 14, according to an exemplary embodiment of the inventiveconcept. Referring to FIG. 15, the nonvolatile memory device 100 a maybe substantially the same as the nonvolatile memory device 100 of FIG. 2except for control logic 140 a. The control logic 140 a may activate oneof a first type of control logic 141 a and a second type of controllogic 142 a according to coarse program operation information CPINF. InFIG. 15, there is illustrated an example where the control logic 140 aincludes the first type of control logic 141 a for indicating a firsttype of coarse program operation and the second type of control logic142 a for indicating a second type of coarse program operation. However,the inventive concept is not limited thereto. For example, the number oftypes of coarse program operations may not be limited to thisdisclosure.

In FIGS. 1 to 15, at reprogramming, data may be buffered by the bufferarea 112 of the nonvolatile memory device 100/100 a. However, theinventive concept is not limited thereto. The inventive concept can beimplemented to include a separate buffer memory for buffering data.

FIG. 16 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept. Referring to FIG. 16, astorage device 30 may include at least one nonvolatile memory device 100b, a memory controller 200 b, and a buffer memory 300.

The nonvolatile memory device 100 b may include a memory area 114 whichstores multi-bit data according to a one-step program operation or amulti-step program operation. The memory controller 200 b may determinewhether to perform a coarse program operation based on cell statusinformation. The buffer memory 300 may buffer data for the multi-stepprogram operation when a coarse program operation is required. Thebuffer memory 300 may be implemented by a random access memory such as adynamic random access memory (DRAM), a static random access memory(SRAM), a PRAM or the like.

With the storage device 30 according to an exemplary embodiment of theinventive concept, data to be used for the multi-step program operationmay be buffered by the buffer memory 300.

In FIG. 16, there is illustrated an example where the buffer memory 300is placed outside the memory controller 200 b. However, the inventiveconcept is not limited thereto. The memory controller 200 b can beimplemented to include the buffer memory 300.

FIG. 17 is a block diagram illustrating a storage device according to anexemplary embodiment of the inventive concept. Referring to FIG. 17, astorage device 40 may include at least one nonvolatile memory device 100b and a memory controller 200 c. The nonvolatile memory device 100 b maybe similar to that shown in FIG. 16. The memory controller 200 c may besimilar to the memory controller 200 b of FIG. 16 except that itincludes a buffer memory 220 which is adapted to buffer data to be usedin a multi-step program operation. The buffer memory 220 may beimplemented by various types of volatile/nonvolatile memory devices.

FIG. 18 is a flow chart illustrating a write method according to anexemplary embodiment of the inventive concept.

In operation S110, a write request, data and an address may be providedfrom an external host to the storage device 10 (refer to FIG. 1). Inoperation S120, the memory controller 200 (refer to FIG. 1) may check aP/E cycle value of a memory block of the nonvolatile memory device 100(refer to FIG. 1) corresponding to the input address. The memorycontroller 200 may determine whether to perform a coarse programoperation based on the checking result. For example, if a P/E cyclevalue checked is smaller than a predetermined value, a coarse programoperation may be performed. If the coarse program operation isdetermined to be required, in operation S130, data may be stored in thememory area 114 (refer to FIG. 1) by performing a multi-step programoperation. On the other hand, if the coarse program operation isdetermined not to be required, in operation S135, data may be stored inthe memory area 114 by performing a one-step program operation.

With the write method according to an exemplary embodiment of theinventive concept, whether to store data using a multi-step programoperation may be determined based on a P/E cycle value.

FIG. 19 is a flow chart illustrating a write method according to anexemplary embodiment of the inventive concept.

In operation S210, a write request, data and an address may be providedfrom an external host to the storage device 20 (refer to FIG. 14). Inoperation S220, the memory controller 200 a (refer to FIG. 14) may checka P/E cycle value of a memory block of the nonvolatile memory device 100a (refer to FIG. 14) corresponding to the input address. The memorycontroller 200 a may determine a type of coarse program operation basedon the checking result. For example, if a P/E cycle value checked islarger than a predetermined value, in operation S220, a type of coarseprogram operation may be determined such that there is performed acoarse program operation to form a threshold voltage distributionsimilar to a final distribution of a fine program operation. Inoperation S230, data may be stored at the memory area 114 (refer to FIG.14) by performing a multi-step program operation according to the typeof coarse program operation thus determined.

With the write method according to an exemplary embodiment of theinventive concept, a type of coarse program operation may be determinedbased on a P/E cycle value, and a multi-step program operation may beperformed according to the type of coarse program operation thusdecided.

The inventive concept is applicable to a solid state drive (SSD).

FIG. 20 is a block diagram illustrating an SSD according to an exemplaryembodiment of the inventive concept. Referring to FIG. 20, an SSD 1000may include a plurality of nonvolatile memory devices 1100 and an SSDcontroller 1200.

The nonvolatile memory devices 1100 may be optionally supplied with anexternal high voltage VPPx. Each of the nonvolatile memory devices 1100may perform a coarse program operation based on cell status informationor cell information as described with reference to FIGS. 1 to 19.

The SSD controller 1200 may be connected to the nonvolatile memorydevices 1100 through a plurality of channels CH1 to CHi (i being aninteger of 2 or more). The SSD controller 1200 may include at least oneprocessor 1210, a buffer memory 1220, an error correcting code (ECC)circuit 1230, a host interface 1250, and a nonvolatile memory interface1260.

The buffer memory 1220 may be configured to temporarily store dataneeded to drive the memory controller 1200. In exemplary embodiments ofthe inventive concept, the buffer memory 1220 may store an error ratetable ERT according to an operating condition. The buffer memory 1220may include a plurality of memory lines for storing data or commands.Here, the plurality of memory lines may be mapped on cache lines invarious methods.

The buffer memory 1220 may buffer data to be used in a fine programoperation. In FIG. 20, there is illustrated an example where the SSDcontroller 1200 includes the buffer memory 1220. However, the inventiveconcept is not limited thereto. The buffer memory 1220 can be placedoutside the SSD controller 1200.

The ECC circuit 1230 may calculate an ECC value of data to be programmedat a write operation. The ECC circuit 1230 may correct an error of dataread at a read operation based on an ECC value. The ECC circuit 1230 maycorrect an error of recovered data of the nonvolatile memory devices1100 in a data recovery operation. Although not shown, a code memory maybe further provided which stores code data needed to drive the memorycontroller 1200. The code memory may be formed of a nonvolatile memorydevice.

The host interface 1250 may interface with an external device. Thenonvolatile memory interface 1260 may interface with the nonvolatilememory devices 1100.

The SSD 1000 according to an exemplary embodiment of the inventiveconcept may improve a program speed and reliability of data byperforming a coarse program operation based on cell status informationor cell information at a write request.

The inventive concept is applicable to an eMMC (e.g., an embeddedmultimedia card (MMC), a moviNAND, an iNAND, etc.).

FIG. 21 is a block diagram illustrating an eMMC according to anexemplary embodiment of the inventive concept. Referring to FIG. 21, aneMMC 2000 may include at least one NAND flash memory device 2100 and acontroller 2200.

The NAND flash memory device 2100 may be configured to perform aone-step program operation or a multi-step program operation.

The controller 2200 may be connected to the NAND flash memory device2100 through a plurality of channels. The controller 2200 may include atleast one controller core 2210, a host interface 2250, and a NANDinterface 2260. The at least one controller core 2210 may control anoverall operation of the eMMC 2000. The host interface 2250 may providean interface between a host and the controller 2200. The NAND interface2260 may provide an interface between the controller 2200 and the NANDflash memory device 2100. In exemplary embodiments of the inventiveconcept, the host interface 2250 may be a parallel interface (e.g., anMMC interface). In exemplary embodiments of the inventive concept, thehost interface 2250 may be a serial interface (e.g., ultra high speed(UHS)-II, universal flash storage (UFS), etc.).

The memory controller 2200 may determine whether to perform a coarseprogram operation or a type of coarse program operation based on cellstatus information or cell information.

The eMMC 2000 may receive power supply voltages Vcc and Vccq from ahost. Herein, the power supply voltage Vcc (e.g., about 3.3V) may besupplied to the NAND flash memory device 2100 and the NAND interface2260, and the power supply voltage Vccq (e.g., about 1.8V/3.3V) may besupplied to the controller 2200. In exemplary embodiments of theinventive concept, the eMMC 2000 may be optionally supplied with anexternal high voltage.

To improve performance, the eMMC 200 according to an exemplaryembodiment of the inventive concept may determine whether to perform acoarse program operation and a type of coarse program operation based oncell status information or cell information.

The inventive concept is applicable to UFS.

FIG. 22 is a block diagram illustrating a UFS system 3000 according toan exemplary embodiment of the inventive concept. Referring to FIG. 22,the UFS system 3000 may include a UFS host 3100, UFS devices 3200 and3300, an embedded UFS device 3400, and a removable UFS card 3500. TheUFS host 3100 may be an application processor of a mobile device. Eachof the UFS host 3100, the UFS devices 3200 and 3300, the embedded UFSdevice 3400, and the removable UFS card 3500 may communicate withexternal devices through the UFS protocol. At least one of the UFSdevices 3200 and 3300, the embedded UFS device 3400, and the removableUFS card 3500 may be implemented by one of storage devices 10, 20, 30and 40 in FIGS. 1, 14, 16 and 17.

Further, the embedded UFS device 3400 and the removable UFS card 3500may perform communications using protocols different from the UFSprotocol. The UFS host 3100 and the removable UFS card 3500 maycommunicate through various card protocols (e.g., USB flash drive (UFD),MMC, secure digital (SD), mini SD, Micro SD, etc.).

The inventive concept is applicable to a mobile device.

FIG. 23 is a block diagram illustrating a mobile device 4000 accordingto an exemplary embodiment of the inventive concept. Referring to FIG.23, the mobile device 4000 may include an application processor 4100, acommunication module 4200, a display/touch module 4300, a storage device4400, and a mobile RAM 4500.

The application processor 4100 may control an overall operation of themobile device 4000. The communication module 4200 may controlwireless/wire communications with an external device. The display/touchmodule 4300 may display data processed by the application processor 4100and receive data through a touch panel. The storage device 4400 maystore user data. The storage device 4400 may be an eMMC, an SSD, a UFSdevice or the like. The storage device 4400 may determine whether toperform a coarse program operation or a type of coarse program operationbased on cell status information or cell information as described withreference to FIGS. 1 to 19. The mobile RAM 4500 may be configured totemporarily store data needed for a process operation of the mobiledevice 4000.

The mobile device 4000 according to an exemplary embodiment of theinventive concept may improve performance by using the storage device4400 performing an optimal program operation.

A memory system or a storage device according to an exemplary embodimentof the inventive concept may be packed using various types of packages.For example, a non-volatile memory device or a memory controlleraccording to an exemplary embodiment of the inventive concept may bepacked using packages such as Package on Package (PoP), Ball Grid Arrays(BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC),Plastic Dual In-Line Package (PDIP), Die in Waffle Pack, Die in WaferForm, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP),Plastic Metric Quad Flat Pack (MQFP), Small Outline Integrated Circuit(SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package(TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi ChipPackage (MCP), Wafer-level Fabricated Package (WFP), Wafer-LevelProcessed Stack Package (WSP), and the like.

While the inventive concept has been particularly shown and describedwith reference to exemplary embodiments thereof, it will be apparent tothose of ordinary skill in the art that various changes in form anddetail may be made thereto without departing from the spirit and scopeof the present inventive concept as defined by the claims.

What is claimed is:
 1. A write method of a storage device, comprising:determining whether to perform a coarse program operation based oninformation about memory cells of a memory device, in response to adetermination that the coarse program operation is to be performed,programming data in the memory device by performing the coarse programoperation and a fine program operation, and in response to adetermination that the coarse program operation is not to be performed,programming data in the memory device by performing the fine programoperation, wherein a range of a threshold voltage distribution near anupper program state is narrower than a range of a threshold voltagedistribution near a lower program stage in the coarse program operation.